'use strict';
exports.main = async (event, context) => {
	const db = uniCloud.database();
	const Accounts = db.collection('Accounts');

	try {
		// 1. 参数验证
		if (!event.username || !event.password) {
			return {
				success: false,
				errorCode: 'INVALID_PARAM',
				errorMessage: '用户名和密码不能为空'
			};
		}

		// 2. 查询用户（核心排查点）
		const userResult = await Accounts.where({
			username: event.username // 根据用户名精确查询
		}).get();

		console.log('用户查询结果:', JSON.stringify(userResult)); // 打印查询结果，在云函数日志中查看

		// 3. 判断用户是否存在
		if (userResult.data.length === 0) {
			return {
				success: false,
				errorCode: 'USER_NOT_FOUND',
				errorMessage: '用户不存在'
			};
		}

		const user = userResult.data[0];

		// 4. 验证密码（此处假设密码为明文比对。若加密，应使用uni-id-common的checkPwd方法[4](@ref)）
		if (user.password !== event.password) {
			return {
				success: false,
				errorCode: 'PASSWORD_ERROR',
				errorMessage: '密码错误'
			};
		}

		// 5. 登录成功逻辑...
		return {
			success: true,
			/* ... 其他成功数据 */
		};

	} catch (error) {
		console.error('登录过程发生错误:', error);
		return {
			success: false,
			errorCode: 'SYSTEM_ERROR',
			errorMessage: '系统繁忙，请稍后重试'
		};
	}
};